package exception;

/**
 *      finally块
 *      finally块是异常处理机制最后一块,他可以直接跟在try语句块之后或最后一个catch之后
 *
 *      finally块可以保证只要程序执行到try语句块中,无论try语句块的代码是否出现异常,finally块中的代码都要执行
 *
 *      通常我们会将释放资源这类操作放在finally中确保执行.比如流的关闭操作.
 */
public class FinallyDemo {
    public static void main(String[] args) {
        System.out.println("程序开始");
        try{
            String str = null;
            System.out.println(str.length());
            return;//就算有return,也要等到finally执行方法后才会真正返回
        }catch (Exception e){
            System.out.println("出错");
        }finally {
            System.out.println("finally中的代码执行");
        }
        System.out.println("程序结束**");
    }
}
